package com.ly.gof.structure.facade;

/**
 * @author liuyang
 * @des 外观（Facade）模式又叫作门面模式，是一种通过为多个复杂的子系统提供一个一致的接口，而使这些子系统更加容易被访问的模式。
 * 该模式对外有一个统一接口，外部应用程序不用关心内部子系统的具体细节，这样会大大降低应用程序的复杂度，提高了程序的可维护性。
 * 通常在以下情况下可以考虑使用外观模式。
 * 1.对分层结构系统构建时，使用外观模式定义子系统中每层的入口点可以简化子系统之间的依赖关系。
 * 2.当一个复杂系统的子系统很多时，外观模式可以为系统设计一个简单的接口供外界访问。
 * 3.当客户端与多个子系统之间存在很大的联系时，引入外观模式可将它们分离，从而提高子系统的独立性和可移植性。
 * @Version 1.0
 * @Date: 26/07/2021 10:51
 */
//客户（Client）角色：通过一个外观角色访问各个子系统的功能。
public class FacadePattern {
    public static void main(String[] args) {
        Facade f = new Facade();
        f.method();
        AbstractFacade af = new Facade1();
        af.method1();
        af.method2();

    }
}

